name: Compile

on:
  push:
    branches: [ master, develop ]
  pull_request:
    branches: [ master, develop ]
    paths-ignore:
      - 'docs/**'
      - '.github/**'
      - 'README.md'
      - 'README_CN.md'
      - 'CONTRIBUTING.md'

jobs:
  centos-build:
    runs-on: ubuntu-20.04
    container: centos:7
    steps:
    - uses: actions/checkout@v3

    - name: Install centos environment
      shell: bash
      run: yum install -y git wget rpm* cpio make glibc-devel glibc-headers binutils m4

    - name: Cache deps
      id: cache-deps
      uses: actions/cache@v3
      env:
        cache-name: cache-deps
      with:
        key: ${{ runner.os }}-build-${{ env.cache-name }}-el7.x86_64-${{ hashFiles('deps/init/oceanbase.el7.x86_64.deps') }}
        path: deps/3rd

    - name: Build
      uses: ./.github/workflows/buildbase
      with:
        save_cache: ${{github.event_name == 'push'}}
        os: 'centos7'

  ubuntu-build:
    runs-on: ubuntu-22.04
    steps:
    - uses: actions/checkout@v3

    - name: Install ubuntu environment
      shell: bash
      run: |
        export DEBIAN_FRONTEND=noninteractive
        sudo apt-get update
        sudo apt-get install -y git wget rpm rpm2cpio cpio make build-essential binutils m4 libtool-bin libncurses5

    - name: Cache deps
      id: cache-deps
      uses: actions/cache@v3
      env:
        cache-name: cache-deps
      with:
        key: ${{ runner.os }}-build-${{ env.cache-name }}-el9.x86_64-${{ hashFiles('deps/init/oceanbase.el9.x86_64.deps') }}
        path: deps/3rd

    - name: Build
      uses: ./.github/workflows/buildbase
      with:
        save_cache: ${{github.event_name == 'push'}}
        os: 'ubuntu22'
